package br.edu.ufersa.scrumgame.mbean;

import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;

import br.edu.ufersa.scrumgame.facade.AcaoFacade;
import br.edu.ufersa.scrumgame.modelo.Acao;

@ManagedBean
@SessionScoped
public class AcaoMBean {

	@EJB
	private AcaoFacade acaoFacade;
	
	private Acao acao = new Acao();
	
	private List<Acao> itens;
	
	private List<Acao> itensFiltro;
	
	private String acaoTela;
	
	private UploadedFile file;
	
	public List<Acao> getItensFiltro() {
		return itensFiltro;
	}

	public void setItensFiltro(List<Acao> itensFiltro) {
		this.itensFiltro = itensFiltro;
	}

	public Acao getAcao() {
		if( acao == null ) {
			acao = new Acao();
		}
		return acao;
	}

	public void setAcao(Acao acao) {
		this.acao = acao;
	}
	
	public List<Acao> getItens() {
		itens = acaoFacade.findAll();
		return itens;
	}

	public String getAcaoTela() {
		return acaoTela;
	}

	public void novo() {
		acaoTela = "novo";
		acao = new Acao();
	}
	
	public void salvar() {
		if(acaoTela == "novo") {
			acao.setId(0);
			acaoFacade.save(acao);
		} if(acaoTela == "editar") {
			acaoFacade.update(acao);
		}
	}
	
	public void editar() {
		acaoTela = "editar";
	}
	
	public void deletar() {
		acaoFacade.delete(acao);
	}

	public UploadedFile getFile() {
		return file;
	}

	public void setFile(UploadedFile file) {
		this.file = file;
	}

	public void upload(FileUploadEvent event) {
		acao.setFoto(event.getFile().getContents());
	}

}
